Enhance CI/CD pipeline and add comprehensive integration tests#40
Merged
Enhance CI/CD pipeline and add comprehensive integration tests#40
Conversation
- Add comprehensive CLI integration tests with smoke tests and mocked workflows - Fix pip-audit to fail on vulnerabilities (remove || true) - Add coverage threshold (50%) and update codecov action - Add separate integration test job in CI - Add CONTRIBUTING.md with development setup and coding standards
- Add requirements-lock.txt with pinned versions for reproducible builds - Add optional extras for LLM providers (openai, anthropic, mistral, all-llm) - Add http_utils.py with retry logic (exponential backoff) and response caching - Update article_tools.py to use new HTTP utilities for better reliability - Simplify code of conduct section in CONTRIBUTING.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR significantly improves the project's CI/CD infrastructure and testing coverage by enhancing the GitHub Actions workflow, adding comprehensive integration tests, and creating contributor documentation.
Key Changes
CI/CD Pipeline Improvements
--cov-report=termand--cov-fail-under=50to pytest to enforce minimum coverage threshold and display coverage in terminalfail_ci_if_errorfrom false to true to fail builds when coverage upload fails--strictflag for stricter vulnerability checkingintegrationjob that runs after lint and type-check, with proper dependencies and markers for selective test executionComprehensive Integration Tests
tests/test_integration.pywith 561 lines of integration tests covering:@pytest.mark.integration) for selective test executionDocumentation
Implementation Details
CliRunnerfor testing CLI commands without actual executionunittest.mockBenefits